<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN">
<html>

<head>
<meta http-equiv="Content-Language" content="en-us">
<title>The main client application</title>
<link rel="stylesheet" type="text/css" href="../style.css">
</head>

<body>

<div align="center">
<table class=allEncompassingTable >
 <tr>
  <td >
<p><a href="../index.html" TARGET="_top"><img src="images/homeImg.png"></a></p>



<h1>The main client application</h1>

<p>CoppeliaSim is a function library: without main client application (or <em>main application</em>, or <em>main loop</em>), CoppeliaSim cannot run. The default main client application that comes with the installation package is <em>coppeliaSim.exe</em> (Windows), or <em>coppeliaSim</em> (MacOSX and Linux). Beware that under MacOSX, the client application as well as several other items (e.g. libraries) are contained inside of a package or bundle (<em>coppeliaSim.app</em>): <em>coppeliaSim.app/Contents/MacOS/coppeliaSim</em>.</p>

<p>The main client application is a small executable that handles following main tasks:<br>
</p>


<li>
it runs the simulator with <a href="regularApi/simRunSimulator.htm">simRunSimulator</a>. </li>


<li>
it loads and unloads <a href="plugins.htm">plugins</a> with <a href="regularApi/simLoadModule.htm">simLoadModule</a> and <a href="regularApi/simUnloadModule.htm">simUnloadModule</a></li>


<li>
it loads a <a href="scenes.htm">scene</a> or <a href="models.htm">model</a> file that was double-clicked with <a href="regularApi/simLoadScene.htm">simLoadScene</a> or <a href="regularApi/simLoadModel.htm">simLoadModel</a></li>

<li>
it handles running <a href="simulation.htm">simulations</a> with <a href="regularApi/simHandleMainScript.htm">simHandleMainScript</a> and <a href="regularApi/simAdvanceSimulationByOneStep.htm">simAdvanceSimulationByOneStep</a></li>




<p><a href="https://github.com/CoppeliaRobotics/coppeliaSimClientApplication" target="_blank"><em>coppeliaSimClientApplication</em></a> requires  following files for compilation and running that applications (the easiest is however to simply copy the newly built main application into CoppeliaSim Pro / CoppeliaSim Edu / CoppeliaSim Player installation folder):<br>
</p>

<li><em>simLib.h</em>,  <em>simLib.cpp</em> and <em>simConst.h</em>: files required to dynamically load and bind to CoppeliaSim library</li>

<li><em>coppeliaSim.dll</em> / <em>libcoppeliaSim.dylib</em> / <em>libcoppeliaSim.so</em>: the CoppeliaSim library </li>

<li>
  <em>lua5.1.dll</em> (or similar): library required for the Lua functionality </li>

<li><em>qscintilla2.dll</em> (or similar): library required for the scintilla editor</li>
<li><em>QtCore5.dll</em>, <em>QtGui5.dll</em>, etc. (or similar): libraries of the Qt framework</li>

<li>
CoppeliaSim's <em>system</em> folder and all its content (required for proper initialization, etc.) </li>


<p>The main client application can be customized. This is however not recommended and should only be used when writing <a href="scripts.htm">scripts</a> and/or <a href="plugins.htm">plugins</a> won't work for your purpose, since the risk of losing compatibility with the default CoppeliaSim behavior is high if not properly implemented.<br>
<br>
</p>

<h3 class=recommendedTopics>Recommended topics</h3>
<li><a href="plugins.htm">Plugins</a></li>
<br>
<br>
 </tr>
</table> 
</div>  
  
  
</body>

</html>